package cn.iocoder.yudao.module.digital.controller.admin.cardkeyproduct.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.util.*;
import java.util.*;

import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;

@Schema(description = "管理后台 - 卡密商品 Response VO")
@Data
@ExcelIgnoreUnannotated
public class CardkeyProductRespVO {
    @Schema(description = "CDK编号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("CDK编号")
    private String productNo;

    @Schema(description = "CDK名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @ExcelProperty("CDK名称")
    private String productName;

    @Schema(description = "商品描述")
    @ExcelProperty("商品描述")
    private String productDescription;

    @Schema(description = "激活方法")
    @ExcelProperty("激活方法")
    private String redemptionTexts;

    @Schema(description = "兑换方式")
    @ExcelProperty("兑换方式")
    private String redemptionOptions;

    @Schema(description = "库存", example = "1")
    @ExcelProperty("库存")
    private Integer stock;

    @Schema(description = "更新时间")
    @ExcelProperty("更新时间")
    private LocalDateTime updateTime;

    @Schema(description = "货币", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("货币")
    private String currencyCode;

    @Schema(description = "商品面值")
    @ExcelProperty("商品面值")
    private Integer denominationFixed;

    @Schema(description = "最小面额")
    @ExcelProperty("最小面额")
    private Integer denominationMin;

    @Schema(description = "最大面额")
    @ExcelProperty("最大面额")
    private Integer denominationMax;

    @Schema(description = "来源", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty(value = "来源", converter = DictConvert.class)
    @DictFormat("digital_cardkey_source")
    private Integer source;

    @Schema(description = "备注", example = "备注")
    @ExcelProperty("备注")
    private String remark;

    @Schema(description = "成本", example = "3354")
    @ExcelProperty("成本")
    private Integer costPrice;

    @Schema(description = "图片Url", example = "[{\"id\":\"DNFRHQKFFM0V6X4JKNJ57RPY0W\",\"imageSize\":\"EXTRA_EXTRA_LARGE\",\"frontImage\":\"https://content.blackhawknetwork.com/gcmimages/product/xxlarge/1008423.jpeg?dt=1627598700769\"}]")
    @ExcelProperty("图片Url")
    private String imageUrls;


}